A typical solid-state drive (“SSD”), which is also known as a solid-state disk, is, for example, a storage device capable of persistently remember stored information or data. A conventional SSD technology, for instance, employs a set of standardized user or device interfaces that allow other systems to access its storage capacities. The standardized interfaces or input/output (“I/O”) standards generally are compatible with traditional I/O interfaces for other non-volatile memories such as hard disk drives. In one example, SSD uses non-volatile memory components to store and retrieve data for one or more processing systems.
To store data persistently, various types of non-volatile memories (“NVMs”) such as flash based or phase change memory (“PCM”) may be used. The conventional flash memory capable of maintaining, erasing, and/or reprogramming data can be fabricated with several different types of integrated circuit (“IC”) technologies such as NOR or NAND logic gates with floating-gates. Depending on the applications, a typical memory access of flash memory can be configured to be a block, a page, a word, and/or a byte.
To properly map or translate between a logical block address (“LBA”) of a host device and a physical page address (“PPA”) of NVM, a flash translation layer (“FTL”) table is used for address mapping. The FTL table is typically a flash file system. With increasing in NVM storage capacity, the size of FTL table has become immensely large. Note that LBA is used to address a block of data seeing by an input and output (“IO”) device of SSD while PPA addresses a physical storage location where the data is actually stored.
A drawback, however, associate with a conventional SSD containing NVM is that the memory controller typically requires a substantial amount of random access memory (“RAM”) for access operation such as storing FTL tables and buffering data.